"""
数据集有三种：sklearn自带的玩具数据集、sklearn联网下载的现实世界数据集、自己的数据集
"""
from sklearn.datasets import load_diabetes
def load_data_demo1():
    """
    加载一个玩具数据集:糖尿病数据集，并研究
    :return:
    """
    #x,  y = load_diabetes(return_X_y=True)    # 会直接返回数据和标签，而不会返回特征名等信息
    diabetes = load_diabetes()
    # 研究数据集：形状、特征名、标签名、标签值等
    print("数据集的数据的形状：", diabetes.data.shape)    #  (442, 10)
    print("数据集的标签的形状：", diabetes.target.shape)  # (442,)
    print("数据集的特征名：", diabetes.feature_names)    # ['age', 'sex', 'bmi', 'bp', 's1', 's2', 's3', 's4', 's5', 's6']
    #print("数据集的标签名：", diabetes.target_names)
    """
    回归数据集，没有预设的标签名
    """
    print("前五行数据：\n", diabetes.data[:5])
    print("前五行标签：\n", diabetes.target[:5])
    #print("数据集的描述：\n", diabetes.DESCR)
    return None

def load_data_demo2():
    """
    加载一个联网下载的数据集：如加尼福尼亚住房数据集
    如果没有下载，会自动下载，如果下载了，data_home参数指定文件所在目录
    注意是所在目录，不是包含文件名的完整路径
    :return:
    """
    from sklearn.datasets import fetch_california_housing
    housing = fetch_california_housing(data_home="../src")
    print("数据集形状：", housing.data.shape) # (20640, 8)

    return None

def load_data_demo3():
    """
    从本地加载数据集：如csv文件、excel文件
    :return:
    """
    import pandas as pd
    data1 = pd.read_csv("../src/ss.csv")
    print(data1)    # 注意，读取的都是DataFrame类型，不是numpy数值
    data2 = pd.read_excel("../src/excel_test.xlsx")
    print(data2)
    return None


if  __name__ == '__main__':
    # 加载玩具数据集
    #load_data_demo1()
    # 加载联网数据集
    #load_data_demo2()
    # 加载本地数据
    load_data_demo3()